#include "JosMux.h"

CJosMux::CJosMux()
{

}

CJosMux::~CJosMux()
{

}

int CJosMux::Init()
{
	return J_OK;
}

void CJosMux::Deinit()
{

}

int CJosMux::Convert(const char *pInputData, J_StreamHeader &streamHeader, char *pOutputData, int &nOutLen, void *pExtdata)
{
    memset(&m_streamHeader, 0, sizeof(m_streamHeader));
    m_streamHeader.datalen = htonl(streamHeader.dataLen);
    m_streamHeader.VideoTypeFCC = htonl(MAKE_FORCC('H', 'I', 'K', '0'));
    if (streamHeader.frameType == J_MediaHead)
        m_streamHeader.datatype = htonl(0);
    else
        m_streamHeader.datatype = htonl(1);
    memcpy(pOutputData, &m_streamHeader, sizeof(m_streamHeader));
    memcpy(pOutputData + sizeof(m_streamHeader), pInputData, streamHeader.dataLen);
    nOutLen = sizeof(m_streamHeader) + streamHeader.dataLen;

	return J_OK;
}
